.TH GENRANDOM 3
.SH NAME
genrandom, prng \- random number generation
.SH SYNOPSIS
.B #include <u.h>
.br
.B #include <libc.h>
.br
.B #include <mp.h>
.br
.B #include <libsec.h>
.PP
.B
void	genrandom(uchar *buf, int nbytes)
.PP
.B
void	prng(uchar *buf, int nbytes)
.SH DESCRIPTION
Most security software requires a source of random or, at the
very least, unguessable numbers.
.PP
.I Genrandom
fills a buffer with bytes from the X9.17 pseudo-random
number generator.  The X9.17 generator is seeded by 24
truly random bytes read via
.I truerand
(see
.IR rand (3)).
.PP
.I Prng
uses the native
.IR rand (3)
pseudo-random number generator to fill the buffer.  Used with
.IR srand ,
this function can produce a reproducible stream of pseudo random
numbers useful in testing.
.PP
Both functions may be passed to
.I mprand
(see
.IR mp (3)).
.SH SOURCE
.B \*9/src/libsec
.SH SEE ALSO
.IR mp (3)
